package com.scau402.system.mapper;

import java.util.List;

import com.scau402.common.core.domain.entity.SysUser;
import com.scau402.system.domain.SysTenant;
import com.scau402.system.domain.vo.SysTenantVO;

/**
 * 租户信息Mapper接口
 * 
 * @author ruoyi
 * @date 2023-06-27
 */
public interface SysTenantMapper 
{
    /**
     * 查询租户信息
     * 
     * @param tenantId 租户信息主键
     * @return 租户信息
     */
    SysTenant selectSysTenantByTenantId(Long tenantId);

    /**
     * 查询租户信息列表
     * 
     * @param sysTenant 租户信息
     * @return 租户信息集合
     */
    List<SysTenantVO> selectSysTenantList(SysTenant sysTenant);

    /**
     * 新增租户信息
     * 
     * @param sysTenant 租户信息
     * @return 结果
     */
    int insertSysTenant(SysTenant sysTenant);

    /**
     * 修改租户信息
     * 
     * @param sysTenant 租户信息
     * @return 结果
     */
    int updateSysTenant(SysTenant sysTenant);

    /**
     * 删除租户信息
     * 
     * @param tenantId 租户信息主键
     * @return 结果
     */
    int deleteSysTenantByTenantId(Long tenantId);

    /**
     * 批量删除租户信息
     * 
     * @param tenantIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysTenantByTenantIds(Long[] tenantIds);

    /**
     * 检查租户编码是否唯一
     * @param sysTenant
     * @return
     */
    public int checkTenantCodeUnique(SysTenant sysTenant);

    String getMaxCode();

    public SysTenant selectSysTenantByTenantCode(String tenantCode);

    /**
     * 检查租户名称是否唯一
     *
     * @param sysTenant
     * @return
     */
    public int checkTenantNameUnique(SysTenant sysTenant);

    /**
     * 获取未审核租户列表
     *
     * @param
     * @return
     */
    public List<SysTenant> selectSysTenantReviewList(SysTenant sysTenant);

    public int review(SysTenant tenant);
}
